package com.mmy.service.line;

import java.util.List;

import com.mmy.domain.line.TLineBase;
import com.mmy.domain.line.VLineBase;

public interface LineBaseService {

	/**
	 * 函数功能说明：获得周边游最大线路编号
	 *
	 * @param 参数说明
	 * @return 返回值说明 Object
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public Object getSurroudingMaxLineID();

	/**
	 * 函数功能说明：创建线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 无返回值
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public void save(int iLineID);

	/**
	 * 函数功能说明：创建修改线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 无返回值
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public void save(TLineBase tLineBase);

	/**
	 * 函数功能说明：获得境内游最大线路编号
	 *
	 * @param 参数说明
	 * @return 返回值说明 Object
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public Object getDomesticMaxLineID();

	/**
	 * 函数功能说明：获得境外游最大线路编号
	 *
	 * @param 参数说明
	 * @return 返回值说明 Object
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public Object getOutboundMaxLineID();

	/**
	 * 函数功能说明：获得目的地游最大线路编号
	 *
	 * @param 参数说明
	 * @return 返回值说明 Object
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public Object getDestinationMaxLineID();

	/**
	 * 函数功能说明：根据id查询线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息对象
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public TLineBase findByiLineID(int iLineID);
	/**
	 * 函数功能说明：删除线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 无返回值
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public void deleteChecked(List<Integer> iLineIDs);

	/**
	 * 函数功能说明：查询近郊游全部信息(分页)
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人liys
	 * @date 创建日期 修改时间 2020.12.21
	 */
	public List<VLineBase> findSurroudingPage(int iOrgID,String strLineName,String strZoneID,String strCity,String strProvince,String pageNumber,String pageSize);

	/**
	 * 函数功能说明：查询近郊游全部信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findSurrouding();
	
	/**
	 * 函数功能说明：查询有计划的近郊游全部信息(去掉搜索条件)
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl 修改人liys
	 * @date 创建日期 修改时间 2020.11.18 修改时间 2021.1.5
	 */
	public List<VLineBase> findSurroudingByPlan(List<Integer> lstLineID,String pageNumber,String pageSize);
	
	/**
	 * 函数功能说明：查询有计划的近郊游全部信息(搜索条件)
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 liys
	 * @date 创建日期 2021.1.5
	 */
	public List<VLineBase> findSurroudingByPlanQuery(List<Integer> lstLineID,String strZoneID,String City,String province, String strDay);
	
	/**
	 * 函数功能说明：查询境内游全部信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findDomestic();

	/**
	 * 函数功能说明：查询境内游全部信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findOutbound();

	/**
	 * 函数功能说明：查询目的地游全部信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findDestination();

	/**
	 * 函数功能说明： 查询该id线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息对象
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public VLineBase findByLineID(int iLineID);

	/**
	 * 函数功能说明： 查询该旅行社周边游线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findSurroudingOrgID(int iOrgID);

	/**
	 * 函数功能说明：查询该区域周边游线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findSurroudingZoneID(int iZoneID);

	/**
	 * 函数功能说明：查询该区域旅行社周边游线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findSurroudingOrgIDandZoneID(int iZoneID, int iOrgID);

	/**
	 * 函数功能说明：查询该线路名周边游线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findSurroudingLineName(String strLineName);

	/**
	 * 函数功能说明：查询该线路名该旅行社周边游线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findSurroudingOrgIDandLineName(String strLineName, int iOrgID);
	/**
	 * 函数功能说明：查询该线路名该区域周边游线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findSurroudingZoneIDandLineName(String strLineName, int iZoneID);

	/**
	 * 函数功能说明：查询该线路名该区域该旅行社周边游线路信息
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findSurroudingOrgIDandZoneIDandLineName(String strLineName, int iZoneID, int iOrgID);

	/**
	 * 函数功能说明：查找全部
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findAll();

	/**
	 * 函数功能说明：搜索条件查询境内游
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findBySearchDomestic(String strLineName, String strZoneID, String strOrgID);

	/**
	 * 函数功能说明：搜索条件查询目的地游
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findBySearchDestination(String strLineName, String strZoneID, String strOrgID);

	/**
	 * 函数功能说明：搜索条件查询境外游
	 *
	 * @param 参数说明
	 * @return 返回值说明 线路信息集合
	 * @throws 异常处理说明
	 * @author 创建人 hanxl 修改人 shangzl
	 * @date 创建日期 修改时间 2020.11.18
	 */
	public List<VLineBase> findBySearchOutbound(String strLineName, String strZoneID, String strOrgID);

}
